#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <cstring>
#include <iomanip>
#include <set>
#include <map>
#include <cstdio>
#define fill(a, c) memset(a, c, sizeof(a))
#define ldb long double
#define LL long long
#define nextLine() {int c = 0; while((c = getchar()) != 10 && c != EOF);}
#define sqr(a) ((a) * (a))
#define debug(a) cerr << #a << " = " << a << " ";
#define debugl(a) cerr << #a << " = " << a << "\n";
const ldb eps = 1e-9;
const ldb LDINF = 1e70;
const LL LINF = 1ll << 52;
const int INF = 1 << 30;
const ldb pi = fabs(atan2(0.0, -1.0));
using namespace std;

int a, b, c , d,e ,f ;
void Load()
{
	cin >> a >> b >> c >> d >> e >> f;
}

void Solve()
{
	if (c == 0 && d != 0
	|| a == 0 && b != 0 && d != 0
	|| b != 0 && d != 0 && e == 0 && f != 0)
	{
		cout << "Ron";
		return;
	}
	LL i = 10000412312ll;

	{
		LL k;
		k = i;
		if (b != 0 && c == 0) k = LINF + 1;
		else if (c != 0) k = (LL)i * b / c;
		LL zol = 0;
		if (e == 0 && d != 0)
		{
			zol = 1;
			k = LINF + 1;
		}
		else if (e != 0)
		{
			if (k > i * 1000) zol = 1;
			else zol = ((LL)k * d) % (LL)e;
			k = k * d / e;
		}
		

		if (a == 0 && f != 0)
			k = LINF + 1;
		else if (a != 0)	
			k = k * f / a;
		if (k > i && d != 0)
		{
			cout << "Ron";
			return;
		}

	}
	cout << "Hermione";

}

int main()
{
#ifndef ONLINE_JUDGE
	freopen("in", "rt", stdin);
	freopen("out", "wt", stdout);
#endif
	Load();
	Solve();
	return 0;
}
